-
Notifications
You must be signed in to change notification settings - Fork 22.7k
[Markdown] Decide what to do about <sup> and <sub> #4578
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I have also seen ^ used as a superscript operator in a flavour of markdown. This is a case where I'd be happy with either or both of your options - because as you say the occurrence is low. |
Oh wow, I thought unicode superscript was a thing for latin characters but it turns out there is only a cursed version of the alphabet, e.g. 2ᵇⁱᵗˢ |
Yeah, for authoring I agree that either of these choices is OK. From a conversion point of view, it would probably be best to leave them as HTML. |
In fact since Yari, |
Grepping in the JavaScript docs reports For those cases, I think we could eliminate the need to use superscript at all by adopting a practice of instead using the JavaScript Using the JavaScript I agree But since the JavaScript docs are for JavaScript developers, when they see it in MDN docs they’re either already going to be familiar with it and instantly recognize it for what it is — or else for less-experienced developers, they’re going to actually learn from seeing it that Another 35 cases are for So those could be considered cases where using superscript was kind of superfluous to begin with. The one other case in the JavaScript docs is So for the JavaScript docs, it seem we could say that we could deal with superscript when moving them to markdown is to just make them not have any superscript — by instead using the |
Grepping across the docs as a whole, I count 444 lines with 345 of the total From looking through those cases, I think they all could be unambiguously replaced with a I think in the context of the goals we’re trying achieve by moving to markdown, it’s absolutely better to use the As far as the remaining 208 lines with The remaining dozen or so cases are either for So the bottom line is that the 444 lines with |
Regarding the footnotes, I think, there is an extension to render endnotes, which could be adopted. |
@sideshowbarker Good analysis above.
My vote is that we strongly encourage use of ^ and first, second, whatever, but we still support Is there an equivalent for |
In ASCIImath you would use |
Unfortunately that's italic in markdown. I suspect we could use mathjax or similar to do sub in equations. |
Oh, and MathJax can use ASCIImath, too :-) |
At that point, seems like it’s getting ugly enough that it’s time to give up and just use Regardless, I think unlike the So for the subscript case, I have kinda have to concede that going with |
I like this, and have opened #4804 to say it. |
In the JS docs we use
<sup>
and<sub>
. There isn't an equivalent of these in GFM.How much is it used?
<sup>
: 127 occurrences across 44 files:https://developer.mozilla.org/en-us/web/javascript/a_re-introduction_to_javascript
https://developer.mozilla.org/en-us/web/javascript/about_javascript
https://developer.mozilla.org/en-us/web/javascript/data_structures
https://developer.mozilla.org/en-us/web/javascript/guide/control_flow_and_error_handling
https://developer.mozilla.org/en-us/web/javascript/guide/expressions_and_operators
https://developer.mozilla.org/en-us/web/javascript/guide/indexed_collections
https://developer.mozilla.org/en-us/web/javascript/guide/numbers_and_dates
https://developer.mozilla.org/en-us/web/javascript/language_resources
https://developer.mozilla.org/en-us/web/javascript/reference/errors/invalid_array_length
https://developer.mozilla.org/en-us/web/javascript/reference/errors/resulting_string_too_large
https://developer.mozilla.org/en-us/web/javascript/reference/functions/rest_parameters
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/array/array
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/array/every
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/array/foreach
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/array/from
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/array/length
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/array/some
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/array/splice
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/bigint/asintn
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/bigint/asuintn
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/bigint
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/date/now
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/date/parse
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/date/utc
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/function/apply
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/function/bind
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/math/exp
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/math/expm1
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/math/hypot
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/math
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/math/pow
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/math/random
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/number/epsilon
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/number
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/number/issafeinteger
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/number/max_safe_integer
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/number/max_value
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/number/min_safe_integer
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/object/tostring
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/parseint
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/string/fromcharcode
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/typedarray
https://developer.mozilla.org/en-us/web/javascript/reference/operators/bitwise_not
https://developer.mozilla.org/en-us/web/javascript/typed_arrays
<sub>
: 14 occurrences across 3 files:https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/math
https://developer.mozilla.org/en-us/web/javascript/reference/global_objects/string/fromcharcode
https://developer.mozilla.org/en-us/web/javascript/reference/operators/operator_precedence
They're usually used in math expressions in the JS docs, for example:
https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/bigint/asuintn#returns
https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/math/pow
https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/array/length#description
They're sometimes used to write things like 5th:
https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/array/every#polyfill
What should we do?
Two options:
Option 1: use
<sup>
and<sub>
in the sourceThis would be OK I think. These tags aren't very widely used, they tend to be used for specialised things, and they are self-contained - they don't pollute big chunks of the page in the way that using HTML
<dl>
or<table>
does. That is, you can write**blah<sup>123</sup>**
and it renders fine.Option 2: use Unicode superscript/subscript characters
You can get superscript and subscript just by using the appropriate Unicode characters: https://en.wikipedia.org/wiki/Superscripts_and_Subscripts_(Unicode_block). It looks like this will work for all the numerics, but I think some of our current usages, like "2bits" https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/bigint/asuintn#returns, might not be supported (?).
The text was updated successfully, but these errors were encountered: